package com.xjgc.msibase.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecg.common.system.base.entity.JeecgEntity;

/**
 * 外围服务接口
 *
 * @Description: 外围服务接口
 * @Author: 小逗号
 * @Date: 2023-10-30
 * @Version: V1.0
 */
@Data
@TableName("msi_exo_server")
public class MsiExoServer extends JeecgEntity {
    /**
     * 服务接口类型
     */
    private String exoServerType;
    /**
     * 请求方式
     * default:POST
     */
    private String restMethod;
    /**
     * Content-Type
     * default:application/json
     */
    private String restContentType;





    /**
     * 系统id
     */
    private String exoSystemId;


    /**
     * 服务接口名
     */
    private String exoServerCode;
    /**
     * 服务接口描述
     */
    private String exoServerDesc;

    /**
     * rest接口url
     */
    private String restUrl;
    /**
     * Rest接口 jsonKey
     */
    private String restJsonKey;
    /**
     * 私密的
     * default:false
     */
    private boolean restSecret;
    /**
     * token认证类
     */
    private String tokenClass;
    /**
     * token参数方式 heards/body
     */
    private String tokenMode;
    /**
     * token参数KEY
     */
    private String tokenKey;
    /**
     * WS方式
     *
     */
    @Dict(dicCode = "msi_ws_client_method")
    private String wsClientMethod;
    /**
     * 默认方式,cxf注册client到spring, 根据clientId来加载
     */
    private String wsClientId;

    /**
     * 动态客户端使用,wsdlUrl
     */
    private String wsWsdlUrl;
    /**
     * 动态客户端使用,接口方法名
     */
    private String wsServiceMethod;

    private String wsRequestParams;
    private String wsResponseParams;

    private String wsUsername;
    private String wsPassword;


    /**
     * 测试请求示例
     */
    private String requestText;
    /**
     * 测试响应示例
     */
    private String responseText;
    /**
     * 读超时设置
     * default:60秒
     */
    private Long readTimeOut;
    /**
     * 状态
     */
    @Dict(dicCode = "status")
    private String status;
    @TableField(exist = false)
    private String taskName;
}
